package com.reactim.message.dto;

import com.reactim.message.entity.Message;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 发送消息请求DTO
 */
@Data
public class SendMessageRequest {
    
    @NotNull(message = "发送者ID不能为空")
    private Long fromUserId;
    
    private Long toUserId;              // 接收者ID（私聊）
    
    private Long groupId;               // 群组ID（群聊）
    
    @NotNull(message = "消息类型不能为空")
    private Message.MessageType messageType;
    
    @NotNull(message = "消息内容不能为空")
    private Message.MessageContent content;
    
    private Message.MessageExtra extra; // 扩展信息
    
    private String replyToMessageId;    // 回复的消息ID
    
    private Boolean requireAck = false; // 是否需要确认
    
    private String deviceInfo;          // 设备信息
}